home *** CD-ROM | disk | FTP | other *** search
- Path: xanth!cs.odu.edu!Amiga-Request
- From: Amiga-Request@cs.odu.edu (Amiga Sources/Binaries Moderator)
- Newsgroups: comp.sources.amiga
- Subject: v90i037: Xoper 2.2 - display and control system activity, Part02/04
- Message-ID: <11199@xanth.cs.odu.edu>
- Date: 1 Feb 90 03:33:10 GMT
- Sender: tadguy@cs.odu.edu
- Reply-To: Werner Guenther <G35%DHDURZ1.BITNET@CUNYVM.CUNY.EDU>
- Lines: 1619
- Approved: tadguy@cs.odu.edu (Tad Guy)
- X-Mail-Submissions-To: Amiga@cs.odu.edu
-
- Submitted-by: Werner Guenther <G35%DHDURZ1.BITNET@CUNYVM.CUNY.EDU>
- Posting-number: Volume 90, Issue 037
- Archive-name: kernel/xoper-2.2/part02
-
- #!/bin/sh
- # This is a shell archive. Remove anything before this line, then unpack
- # it by saving it into a file and typing "sh file". To overwrite existing
- # files, type "sh file -c". You can also feed this as standard input via
- # unshar, or by typing "sh <file", e.g.. If this archive is complete, you
- # will see the following message at the end:
- # "End of archive 2 (of 4)."
- # Contents: Xoper.a.ac
- # Wrapped by tadguy@xanth on Wed Jan 31 22:31:32 1990
- PATH=/bin:/usr/bin:/usr/ucb ; export PATH
- if test -f 'Xoper.a.ac' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'Xoper.a.ac'\"
- else
- echo shar: Extracting \"'Xoper.a.ac'\" \(40356 characters\)
- sed "s/^X//" >'Xoper.a.ac' <<'END_OF_FILE'
- X beq got_enter
- X
- X cmp.b #27,0(a2,d3) ;esc
- X bne 799$
- X tst.w getanswer
- X bne 100$
- X clr.b insmode
- X clr.w ibufferlen
- X move.w #200,curpos
- X bsr UpdateIArea
- X clr.w curpos
- X tst.w bottomin
- X bne.s 700$
- X move.w #1,bottomin
- X bsr getcurpos
- X cmp.b #5,timerstate
- X bne.s 765$
- X bsr starttimer
- X765$ bra 100$
- X
- X700$ move.b timerio+8,timerstate
- X bsr stoptimer
- X move.w edline(PC),d0
- X move.l firstline(PC),d4
- X cmp.w d4,d0
- X bmi.s 701$
- X move.w d4,d5
- X add.w rows(PC),d5
- X cmp.w d5,d0
- X bmi.s 702$
- X701$ move.w rows(PC),d0
- X lsr.w #1,d0
- X add.w d4,d0
- X702$ move.l numlines(PC),d3
- X subq #1,d3
- X cmp.w d3,d0
- X ble.s 703$
- X move.w d3,d0
- X703$ move.w d0,edline
- X sub.w d4,d0
- X lsl.w #3,d0
- X add.w #18,d0
- X move.w d0,cposy
- X clr.w bottomin
- X tst.w loffset
- X beq.s 704$
- X clr.w loffset
- X bsr blastout
- X704$ bra 100$
- X
- X799$ cmp.b #8,0(a2,d3) ;Backspace
- X bne.s 114$
- X tst.w d4
- X beq 102$
- X bsr delchar
- X subq #1,d4
- X move.w d4,curpos
- X bra 102$
- X
- X114$ cmp.b #127,0(a2,d3) ;del
- X bne.s 150$
- X178$ cmp.w ibufferlen(PC),d4
- X bge 102$
- X addq #1,d4
- X bsr delchar
- X bra 102$
- X
- X150$ cmp.b #9,0(a2,d3) ;tab
- X bne 197$
- X move.w cmdcompflag(PC),d0
- X bpl.s 151$
- X move.w curpos(PC),cmdcomplen
- X151$ move.w #1,cmdcompflag
- X155$ move.w cmdcompnr(PC),d0
- X bsr getcmdptr
- X move.l d0,a0
- X move.w cmdcomplen(PC),d4
- X lea inputbuffer,a1
- X subq #1,d4
- X152$ tst.b 0(a0)
- X beq.s 153$
- X cmp.b (a0)+,(a1)+
- X bne.s 153$
- X dbf d4,152$
- X move.l d0,a1
- X lea inputbuffer,a0
- X154$ move.b (a1)+,(a0)+
- X dbeq.s d4,154$
- X neg.w d4
- X subq #1,d4
- X move.w d4,curpos
- X move.w d4,ibufferlen
- X add.w #1,cmdcompnr
- X cmp.w #cmdnum,cmdcompnr
- X beq.s 156$
- X bra 100$
- X153$ move.w cmdcompnr(PC),d0
- X addq #1,d0
- X move.w d0,cmdcompnr
- X cmp.w #cmdnum,d0
- X bmi.s 155$
- X156$ clr.w cmdcompnr
- X bra 100$
- X
- X197$ cmp.b #3,0(a2,d3) ;ctrl c
- X bne.s 104$
- X move.b #1,cbreak
- X
- X104$ tst.b addlines
- X bne processnxtmsg
- X cmp.b #$18,0(a2,d3) ;ctrl x
- X bne.s 300$
- X clr.w ibufferlen
- X clr.w curpos
- X bra 100$
- X
- X300$ cmp.b #$19,0(a2,d3) ;ctrl y
- X bne.s 106$
- X move.w curpos,ibufferlen
- X bra 100$
- X
- X106$ move.w #$100,d5 ;NumPad
- X and.w qualifier(PC),d5
- X beq 105$
- X move.l firstline(PC),d5
- X
- X cmp.b #'7',0(a2,d3) ;'Home'
- X bne.s 200$
- X moveq #0,d5
- X199$ move.l d5,firstline
- X bsr blastout
- X tst.w bottomin
- X bne.s 196$
- X move.w edline(PC),d0
- X move.l firstline(PC),d1
- X cmp.w d1,d0
- X bmi.s 190$
- X add.w rows(PC),d1
- X cmp.w d1,d0
- X bmi.s 192$
- X190$ clr.w curpos
- X clr.w ibufferlen
- X move.w rows(PC),d0
- X lsr.w #1,d0
- X ext.l d0
- X add.l firstline(PC),d0
- X cmp.l numlines(PC),d0
- X bmi.s 191$
- X move.l numlines(PC),d0
- X subq #1,d0
- X191$ move.w d0,edline
- X192$ bsr getcurpos
- X bsr UpdateIArea
- X196$ bra 100$
- X
- X200$ cmp.b #'8',0(a2,d3) ;'up arrow'
- X bne.s 201$
- X tst d5
- X beq 100$
- X subq #1,d5
- X bra.s 199$
- X
- X201$ cmp.b #'9',0(a2,d3) ;'PgUp'
- X bne.s 203$
- X sub.w rows(PC),d5
- X bpl.s 199$
- X moveq #0,d5
- X bra.s 199$
- X
- X203$ cmp.b #'1',0(a2,d3) ;'End'
- X bne.s 205$
- X222$ move.l numlines(PC),d5
- X sub.w rows(PC),d5
- X bpl 199$
- X moveq #0,d5
- X204$ bra 199$
- X
- X205$ cmp.b #'2',0(a2,d3) ;'down arrow'
- X bne.s 206$
- X move.l d5,d2
- X add.w rows(PC),d2
- X cmp.l numlines(PC),d2
- X bge 100$
- X addq #1,d5
- X bra 199$
- X
- X206$ cmp.b #'3',0(a2,d3) ;'PgDn'
- X bne.s 500$
- X add.w rows(PC),d5
- X move.l d5,d2
- X add.w rows(PC),d2
- X cmp.l numlines(PC),d2
- X bge.s 222$
- X bra 199$
- X
- X500$ cmp.b #'4',0(a2,d3) ;left arrow
- X bne.s 501$
- X tst.w bottomin
- X beq 102$
- X move.w loffset(PC),d2
- X sub.w colms(PC),d2
- X bpl.s 502$
- X moveq #0,d2
- X502$ move.w d2,loffset
- X bsr blastout
- X bra 100$
- X
- X501$ cmp.b #'6',0(a2,d3) ;right arrow
- X bne.s 170$
- X tst.w bottomin
- X beq 102$
- X move.w loffset(PC),d2
- X add.w colms(PC),d2
- X bra.s 502$
- X
- X170$ cmp.b #'0',0(a2,d3) ;Ins
- X bne.s 177$
- X eor.b #1,insmode
- X bra.s 102$
- X
- X177$ cmp.b #'.',0(a2,d3) ;Del
- X beq 178$
- X
- X105$ tst.w bottomin
- X bne.s 777$
- X tst.w curpos
- X bne.s 777$
- X movem.l d0-d1,-(a7)
- X move.w edline(PC),d0
- X bsr findline
- X movem.l (a7)+,d0-d1
- X tst.l 8(a5)
- X beq intuiend
- X777$ move.w curpos(PC),d5
- X ext.l d5
- X moveq #79,d2
- X cmp.w d2,d5
- X bge 102$
- X tst.b insmode
- X beq.s 172$
- X cmp.w ibufferlen(PC),d5
- X bmi.s 171$
- X bra.s 173$
- X172$ sub d5,d2
- X lea 80(a1),a4
- X lea 79(a1),a3
- X103$ move.b -(a3),-(a4)
- X dbf d2,103$
- X173$ addq.w #1,ibufferlen
- X171$ move.b 0(a2,d3),0(a1,d5)
- X addq.w #1,curpos
- X102$ subq #1,d0
- X addq #1,d3
- X bra 101$
- X
- X100$ bsr UpdateIArea
- X bra intuiend
- X
- Xgot_enter bsr puthist
- Xgot_fkey bsr stoptimer
- X clr.b insmode
- X lea dummy,a1
- X lea inputbuffer,a2
- X move.w ibufferlen(PC),d2
- X beq.s 2$
- X tst.w bottomin
- X bne.s 5$
- X movem.l a1-a2,-(a7)
- X move.w edline(PC),d0
- X bsr findline
- X move.l 8(a5),d0
- X bsr gthex
- X lea hexarea(PC),a0
- X lea 0(a2,d2),a1
- X move.b #' ',(a1)+
- X move.b #'$',(a1)+
- X moveq #8,d0
- X CALL CopyMem,_SysBase(PC)
- X move.w ibufferlen(PC),d2
- X add.w #10,d2
- X move.w d2,ibufferlen
- X movem.l (a7)+,a1-a2
- X5$ subq #1,d2
- X1$ move.b (a2)+,(a1)+
- X dbf d2,1$
- X2$ move.b #10,(a1)+
- X move.w ibufferlen(PC),d0
- X ext.l d0
- X addq #1,d0
- X move.l d0,-(a7)
- X clr.w ibufferlen
- X tst.w bottomin
- X bne.s 4$
- X move.w #100,curpos
- X bsr UpdateIArea
- X4$ clr.w curpos
- X move.w #1,bottomin
- X bsr getcurpos
- X bsr UpdateIArea
- X move.l (a7)+,d0
- X move.w d0,repeatlen
- X clr.w repeat
- X clr.b printed
- X tst.w getanswer
- X beq.s 6$
- X rts
- X6$ bsr cli
- X tst.b printed
- X bne.s 3$
- X bsr starttimer
- X3$ bra intuiend
- X
- Xnotarawkey
- X
- Xintuiend bsr.s replyintui
- X bra nextimsg
- Xprocessnxtmsg
- X tst.b addlines
- X beq.s 1$
- X rts
- X1$ bra processmsgs
- X
- Xreplyintui move.l intuimsg(PC),d0
- X beq.s 1$
- X move.l d0,a1
- X CALL ReplyMsg,_SysBase
- X1$ clr.l intuimsg
- X rts
- X
- X;put an input line into the history buffer
- Xputhist move.w ibufferlen(PC),d5
- X move.l d5,d0
- X cmp.w minnumchars(PC),d0
- X bcs 1$
- X
- X move.l gothline(PC),d1
- X beq.s 5$
- X move.l d1,a2
- X cmp.w 8(a2),d5
- X bne.s 5$
- X lea 10(a2),a2
- X lea inputbuffer,a1
- X subq #1,d0
- X6$ cmp.b (a2)+,(a1)+
- X bne.s 5$
- X dbf d0,6$
- X move.l gothline,curhist
- X bra.s 1$
- X
- X5$ move.w d5,d0
- X ext.l d0
- X add #10,d0
- X move.l #$10000,d1 ;MEMF_CLEAR
- X CALL AllocMem,_SysBase(PC)
- X tst.l d0
- X beq.s 1$
- X move.l d0,a0
- X move.w d5,8(a0)
- X lea 10(a0),a2
- X subq #1,d5
- X lea inputbuffer,a1
- X2$ move.b (a1)+,(a2)+
- X dbf d5,2$
- X move.w hnum(PC),d5
- X cmp.w maxhlines(PC),d5
- X bmi.s 3$
- X bsr remhistline
- X bra.s 4$
- X3$ addq #1,d5
- X move.w d5,hnum
- X4$ move.l d0,a1
- X move.l d0,curhist
- X lea history(PC),a0
- X CALL AddTail,_SysBase(PC)
- X1$ clr.l gothline
- X rts
- X
- X;copy a history line into the input buffer
- Xcopyhistory lea inputbuffer,a0
- X move.w 8(a1),d3
- X ext.l d3
- X move.w d3,curpos
- X move.w d3,ibufferlen
- X subq #1,d3
- X lea 10(a1),a1
- X1$ move.b (a1)+,(a0)+
- X dbf d3,1$
- X rts
- X;remove one line from the history buffer
- X;pointer to the line in A1, returns pointer to the next line in d1
- Xremhistline move.l d0,-(a7)
- X lea history(PC),a0
- X move.l 0(a0),a5
- X tst.l 0(a5)
- X beq.s 1$
- X CALL RemHead,_SysBase(PC)
- X move.l a5,a1
- X move.w 8(a1),d0
- X add #10,d0
- X ext.l d0
- X CALL FreeMem,_SysBase(PC)
- X1$ move.l (a7)+,d0
- X rts
- X
- X;kill all history lines
- Xkillhistory bsr remhistline
- X move.l history(PC),a0
- X tst.l 0(a0)
- X bne.s killhistory
- X2$ clr.w hnum
- X clr.l curhist
- X rts
- X;delete one char from the input line
- Xdelchar lea inputbuffer,a3
- X lea 0(a3,d4.w),a3
- X lea -1(a3),a4
- X move d4,d5
- X1$ cmp.w #78,d5
- X bge.s 2$
- X move.b (a3)+,(a4)+
- X addq #1,d5
- X bra.s 1$
- X2$ subq.w #1,ibufferlen
- X rts
- X
- Xtestsig move.l tasksigs(PC),d0
- X btst d1,d0
- X rts
- X
- X;get the position of the input area
- Xiareapos move.l wnptr(PC),a0
- X move.w 10(a0),d0
- X subq #4,d0
- X move.w d0,ipos
- X rts
- X
- X;Update the current position of the input line
- Xgetcurpos tst.w bottomin
- X beq.s 1$
- X move.w ipos,cposy
- X rts
- X1$ move.w edline(PC),d3
- X sub.l firstline(PC),d3
- X lsl #3,d3
- X add.w #18,d3
- X move.w d3,cposy
- X rts
- X;refresh the input area
- XUpdateIArea move.l rastport(PC),a1
- X move.l #1,d0
- X CALL SetDrMd,gfxbase(PC)
- X moveq #6,d0
- X move.w cposy(PC),d1
- X move.l rastport(PC),a1
- X CALL Move,gfxbase(PC)
- X lea inputbuffer,a0
- X move.w ibufferlen(PC),d0
- X ext.l d0
- X move.w colms(PC),d1
- X sub.w bottomin(PC),d1
- X cmp.w d1,d0
- X bmi.s 1$
- X move.w d1,d0
- X1$ move.w d0,d2
- X move.l rastport(PC),a1
- X CALL Text,gfxbase(PC)
- X
- X tst.w bottomin
- X bne.s 3$
- X move.w edline(PC),d0
- X bsr findline
- X move.w 12(a5),d3
- X sub.w d2,d3
- X bmi.s 3$
- X move.w colms(PC),d1
- X sub.w d2,d1
- X bmi.s 2$
- X cmp.w d1,d3
- X ble.s 4$
- X move.w d1,d3
- X4$ move.w d3,d0
- X lea 14(a5,d2.w),a0
- X move.l rastport(PC),a1
- X CALL Text,gfxbase(PC)
- X add.w ibufferlen(PC),d3
- X move.w d3,d2
- X
- X3$ move.w colms(PC),d0
- X sub.w bottomin(PC),d0
- X move.l blanks(PC),a0
- X ext.l d0
- X sub.w d2,d0
- X bmi.s 2$
- X lea 0(a0,d2.w),a0
- X move.l rastport(PC),a1
- X CALL Text,gfxbase(PC)
- X2$ bsr putcursor
- X rts
- X
- Xclrcursor moveq #1,d7
- X bra.s ptc1
- Xputcursor moveq #6,d7
- Xptc1 move.w curpos(PC),d0
- X move.w colms(PC),d1
- X subq #1,d1
- X sub.w bottomin(PC),d1
- X cmp.w d0,d1
- X bmi.s 1$
- X move.l rastport(PC),a1
- X move.l d7,d0
- X CALL SetDrMd,gfxbase(PC)
- X move.w cposy(PC),d1
- X move.w curpos(PC),d0
- X lsl.w #3,d0
- X addq #6,d0
- X move.l rastport(PC),a1
- X CALL Move,gfxbase(PC)
- X lea oneblank(PC),a0
- X moveq #1,d0
- X move.l rastport(PC),a1
- X CALL Text,gfxbase(PC)
- X1$ rts
- X;rebuild the window from scratch
- Xsetupscreen move.l rastport(PC),a1
- X moveq #0,d0
- X CALL SetRast,gfxbase(PC)
- X move.l wnptr,a0
- X CALL RefreshWindowFrame,intuibase(PC)
- X bsr getwindowsize
- X tst.w bottomin
- X bne.s 1$
- X move.w edline(PC),d0
- X move.l firstline(PC),d1
- X move.w rows(PC),d2
- X move.w d2,d4
- X move.w numlines(PC),d3
- X add.w d1,d2
- X cmp.w d2,d0
- X bmi.s 2$
- X lsr.w #1,d4
- X sub.w d4,d0
- X ext.l d0
- X move.l d0,firstline
- X2$ bsr tstfirstlin
- X1$ bsr getcurpos
- X bsr putiline
- X bsr blastout
- X bsr UpdateIArea
- X move.w rows,currenty
- X rts
- X
- Xputiline move.l rastport(PC),a1
- X moveq #1,d0
- X CALL SetAPen,gfxbase(PC)
- X move.l rastport(PC),a1
- X moveq #1,d0
- X CALL SetDrMd,gfxbase(PC)
- X move.l wnptr(PC),a5
- X move.w 10(a5),d1
- X sub.w #12,d1
- X moveq #0,d0
- X move.l rastport(PC),a1
- X CALL Move,gfxbase(PC)
- X move.w 8(a5),d0
- X move.w d1,-(a7)
- X move.l rastport(PC),a1
- X CALL Draw,gfxbase(PC)
- X move.w (a7)+,d1
- X tst.b ownscreen
- X bne.s 1$
- X move.w 8(a5),d0
- X addq #1,d1
- X move.l rastport(PC),a1
- X CALL Move,gfxbase(PC)
- X sub.w #16,d0
- X move.w d1,-(a7)
- X move.l rastport(PC),a1
- X CALL Draw,gfxbase(PC)
- X move.w (a7)+,d1
- X move.w 8(a5),d0
- X addq #1,d1
- X move.l rastport(PC),a1
- X CALL Move,gfxbase(PC)
- X sub.w #16,d0
- X move.l rastport(PC),a1
- X CALL Draw,gfxbase(PC)
- X1$ rts
- X
- Xgetwindowsize
- X bsr freeblank
- X move.l wnptr(PC),a0
- X move.w 10(a0),d0
- X sub.w #26,d0
- X lsr.w #3,d0
- X move.w d0,rows
- X move.w 8(a0),d0
- X sub.w #12,d0
- X lsr.w #3,d0
- X move.w d0,colms
- X ext.l d0
- X moveq #0,d1
- X move.l d0,d6
- X CALL AllocMem,_SysBase(PC)
- X move.l d0,blanks
- X move.l d0,a0
- X subq #1,d6
- X1$ move.b #' ',(a0)+
- X dbf d6,1$
- X bsr iareapos
- X rts
- X
- Xreadline move.b #'n',inputbuffer
- X tst.b fromfile
- X bne.s 1$
- X move.l #31000,firstline
- X bsr blastout
- X move.w #1,getanswer
- X bsr replyintui
- X5$ bsr processmsgs
- X move.w d0,d5
- X bsr replyintui
- X subq #1,d5
- X beq.s 5$
- X ori.b #$20,inputbuffer
- X clr.w getanswer
- X bsr RestoreOutput
- X1$ rts
- X
- XResumeOutput
- X move.l outchain(PC),d0
- X move.l d0,a1
- X beq.s 2$
- X move.l numlines,oldnumlines
- X move.l firstline,oldfirstline
- X4$ tst.l 0(a1)
- X beq.s 3$
- X move.l 0(a1),a1
- X bra.s 4$
- X3$ move.l a1,lastprinted
- X2$ move.l a1,oldpageend
- X rts
- X
- XRestoreOutput
- X move.l oldpageend(PC),d3
- X beq.s 1$
- X move.l oldnumlines(PC),numlines
- X move.l oldfirstline(PC),firstline
- X move.l oldlastprinted(PC),lastprinted
- X move.l d3,a1
- X move.l 0(a1),a1
- X bsr killlines
- X move.l d3,a1
- X clr.l 0(a1)
- X bsr blastout
- X1$ rts
- X
- Xaddline movem.l d0-d6/a0-a3,-(a7)
- X move.l rastport(PC),a1
- X moveq #1,d0
- X CALL SetAPen,gfxbase(PC)
- X move.l rastport(PC),a1
- X moveq #1,d0
- X CALL SetDrMd,gfxbase(PC)
- X move.w currenty(PC),d6
- X cmp.w rows(PC),d6
- X bmi.s 1$
- X bsr cls
- X1$ move.l lastprinted(PC),a0
- X move.w colms(PC),d5
- X move.w 12(a0),d3
- X lea 14(a0),a0
- X move.w currenty(PC),d6
- X move d6,d7
- X lsl #3,d6
- X add.w #18,d6
- X moveq #0,d4
- X bsr blastline
- X addq.w #1,currenty
- X move.l #31000,firstline
- X movem.l (a7)+,d0-d6/a0-a3
- X rts
- X
- Xcls movem.l d0-d6/a0-a3,-(a7)
- X move.l rastport(PC),a1
- X moveq #1,d0
- X CALL SetAPen,gfxbase(PC)
- X move.l rastport(PC),a1
- X moveq #1,d0
- X move.l rastport(PC),a1
- X CALL SetDrMd,gfxbase(PC)
- X move.w colms(PC),d5
- X clr.w d2
- X1$ move.w d2,d6
- X move d5,d7
- X lsl #3,d6
- X add.w #18,d6
- X moveq #0,d3
- X move.l blanks(PC),a0
- X bsr blastline
- X addq #1,d2
- X cmp.w rows(PC),d2
- X bmi.s 1$
- X clr.w currenty
- X movem.l (a7)+,d0-d6/a0-a3
- X rts
- X
- Xcreatescreen moveq #1,d1
- X moveq #80,d0
- X lea buffer,a0
- X sub.l a1,a1
- X CALL GetScreenData,intuibase(PC)
- X move.w buffer+76,nsviewmode
- X move.l buffer+12,nssize
- X lea newscreen(PC),a0
- X CALL OpenScreen,intuibase(PC)
- X move.l d0,screenptr
- X move.l d0,nwscreen
- X move.w #$f,nwtype
- X beq.s setupwindow
- X tst.l wnptr
- X beq.s 1$
- X move.l wnptr(PC),a0
- X move.l 4(a0),window_l
- X move.l 8(a0),window_w
- X CALL CloseWindow,intuibase(PC)
- X clr.l intuimsg
- X clr.l wnptr
- X1$ clr.l newwindow
- X move.l buffer+12,newwindow+4
- X move.l wnscrflags(PC),nwflgs
- X move.l wnscrflags+4(PC),nwflgs+4
- X move.b #1,ownscreen
- X
- Xsetupwindow tst.b ownscreen
- X bne.s 3$
- X move.l window_l(PC),newwindow
- X move.l window_w(PC),newwindow+4
- X move.w #1,nwtype
- X move.l wnnormflgs(PC),nwflgs
- X move.l wnnormflgs+4(PC),nwflgs+4
- X3$ lea newwindow(PC),a0
- X CALL OpenWindow,intuibase(PC)
- X move.l d0,wnptr
- X beq exit
- X move.l d0,a0
- X move.l 50(a0),rastport ;wn->RPort
- X move.l 86(a0),a1 ;wn->UserPort
- X move.b 15(a1),d1 ;MsgPort->SigBit
- X ext.w d1
- X move.w d1,intuisig
- X
- X tst.b iconifyon
- X beq.s 1$
- X tst.b ownscreen
- X bne.s 1$
- X lea iconifgad,a1
- X moveq #0,d0
- X CALL AddGadget,intuibase(PC)
- X move.l wnptr(PC),a0
- X CALL RefreshWindowFrame,intuibase(PC)
- X
- X1$ lea tattr(PC),a0
- X CALL OpenFont,gfxbase(PC)
- X tst.l d0
- X beq.s 2$
- X move.l d0,a0
- X move.l rastport(PC),a1
- X CALL SetFont,gfxbase(PC)
- X2$ bsr getwindowsize
- X bsr getcurpos
- X
- X bsr putiline
- X bsr UpdateIArea
- X bsr starttimer
- X bsr showwhat
- X rts
- X
- Xusescreen tst.b fromfile
- X bne.s 1$
- X tst.b ownscreen
- X bne.s 1$
- X bsr createscreen
- X1$ move.b #1,ownscreen
- X rts
- X
- Xusewindow tst.b fromfile
- X beq.s 1$
- X clr.b ownscreen
- X rts
- X1$ tst.b ownscreen
- X beq.s 2$
- X move.l wnptr(PC),d0
- X beq.s 3$
- X move.l d0,a0
- X CALL CloseWindow,intuibase(PC)
- X clr.l wnptr
- X clr.l intuimsg
- X3$ move.l screenptr(PC),d0
- X beq.s 4$
- X move.l d0,a0
- X CALL CloseScreen,intuibase(PC)
- X clr.l screenptr
- X clr.b ownscreen
- X4$ bra setupwindow
- X2$ rts
- X
- Xdchange lea dchead(PC),a0
- X bsr puthead
- X lea tdd(PC),a1
- X move.l _SysBase(PC),a0
- X lea 350(a0),a0
- X CALL FindName,_SysBase(PC)
- X tst.l d0
- X beq R_T_S
- X move.l d0,a2
- X lea 32(a2),a2
- X moveq #0,d5
- X2$ lea 4(a2),a2
- X move.l 0(a2),d0
- X beq 3$
- X move.l d0,a0
- X lea $18e(a0),a0
- X CALL Disable,_SysBase(PC)
- X5$ tst.l 0(a0)
- X beq.s 6$
- X move.l 0(a0),a0
- X bra.s 5$
- X6$ lea -4(a0),a5
- X lea buffer+100,a3
- X9$ move.l 0(a5),a5
- X tst.l 0(a5)
- X beq.s 11$
- X move.l a5,(a3)+
- X bne.s 9$
- X11$ clr.l (a3)+
- X CALL Enable,_SysBase(PC)
- X lea buffer+100,a3
- X7$ move.l (a3)+,d0
- X beq.s 3$
- X move.l d0,a5
- X cmp.w #20,28(a5)
- X bne.s 7$
- X move.l 40(a5),a4
- X move.l a4,d0
- X move.l d0,node
- X bsr hexan
- X move.l a4,d0
- X beq.s 10$
- X move.l 14(a4),d0
- X bsr hexan
- X move.l 18(a4),d0
- X bsr hexan
- X10$ move.l d5,d3
- X or.b #48,d3
- X move.b d3,tddrives+2
- X move.l #tddrives,d0
- X bsr putstr
- X move.l 14(a5),d0
- X beq.s 8$
- X move.l d0,a0
- X move.l 16(a0),d0
- X8$ bsr getaskname2
- X bsr newline
- X bra.s 7$
- X3$ addq #1,d5
- X cmp.w #4,d5
- X bmi 2$
- XR_T_S rts
- X
- X
- XDATASTART EQU *
- X
- Xdosbase dc.l 0
- Xintuibase dc.l 0
- Xgfxbase dc.l 0
- Xcondev dc.l 0
- Xparmtxt dc.l 0
- Xinfile dc.l 0
- Xptr dc.l 0
- Xoldidl dc.l 0
- Xolddisp dc.l 0
- Xmysignal dc.l 0
- Xauxsig dc.l 0
- Xtrapsignal dc.l 0
- Xiostatus dc.l -1
- Xdevstatus dc.l -1
- Xtasksigs dc.l 0
- Xcancelbit dc.l 0
- Xcancelbnum dc.l 0
- X_SysBase dc.l 0
- XInputMsg dc.l 0
- XInRequest dc.l 0
- Xstartmess dc.l 0
- Xsavedat dc.l 0
- Xwnptr dc.l 0
- Xaliaslist dc.l 0
- Xscreenptr dc.l 0
- Xintuimsg dc.l 0
- Xmytask dc.l 0
- Xwbmsg dc.l 0
- Xpointer dc.l 0
- Xreplyport dc.l 0
- Xtimerport dc.l 0
- Xfinfoptr dc.l 0
- Xmyseg dc.l 0
- Xdispatches dc.l 0
- Xmaxdisp dc.l 0
- Xdeltadisp dc.l 0
- Xwbaddr dc.l 0
- Xnode dc.l 0
- Xremembr dc.l 0
- Xremembr2 dc.l 0
- Xcaptask dc.l 0
- Xsnoopport dc.l 0
- Xtasksnum dc.l 0
- Xblanks dc.l 0
- Xhidestart dc.l 0
- Xdispnum dc.l 0
- Xiocount dc.l 0
- Xdummyinput dc.l 0
- Xrastport dc.l 0
- Xoutchain dc.l 0
- Xfirstline dc.l 0
- Xoldfirstline dc.l 0
- Xtimeoutm dc.l 0
- Xnumlines dc.l 0
- Xoldnumlines dc.l 0
- Xgothline dc.l 0
- Xlastprinted dc.l 0
- Xoldlastprinted dc.l 0
- Xoldpageend dc.l 0
- Xmaxlines dc.l 500
- Xrealstack dc.l 0
- X
- X
- Xwnnormflgs dc.l $646
- X dc.l $1104f
- X
- Xwnscrflags dc.l $600
- X dc.l $31948
- X
- Xfkeys dc.l *+4
- X dc.l 0
- X dc.l fkeys
- X
- Xhistory dc.l *+4
- X dc.l 0
- X dc.l history
- Xcurhist dc.l 0
- X
- Xsecs dc.l 0
- Xmics dc.l 0
- Xtime10 dc.l 0
- X
- Xtattr dc.l fontname
- X dc.w 8
- X dc.w 0
- X
- Xstplist dc.l lh_tail
- Xlh_tail dc.l 0
- X dc.l stplist
- X dc.b 1
- X dc.b 0
- X
- XInInterrupt dc.l 0 ;ln_Succ
- X dc.l 0 ;ln_Pred
- X dc.b 2 ;ln_Type
- X dc.b 60 ;ln_Pri
- X dc.l xopsleep ;ln_Name
- X dc.l 0 ;is_Data
- X dc.l Keyhandler ;is_Code()
- X
- XIOCounter dc.l 0 ;ln_Succ
- X dc.l 0 ;ln_Pred
- X dc.b 2 ;ln_Type
- X dc.b -1 ;ln_Pri
- X dc.l IOcntname ;ln_Name
- X dc.l 0 ;is_Data
- X dc.l countio ;is_Code()
- X
- Xnewwindow dc.w 0,0
- X dc.w 500,100
- X dc.b 0,1
- Xnwflgs dc.l $646
- X dc.l $1104f
- Xwn_firstgad dc.l 0
- X dc.l 0
- X dc.l windowname
- Xnwscreen dc.l 0
- X dc.l 0
- X dc.w 110,50
- X dc.w 808,-1
- Xnwtype dc.w 1
- X
- Xnewscreen dc.w 0,0
- Xnssize dc.w 0,0
- X dc.w 1
- X dc.b 0
- X dc.b 1
- Xnsviewmode dc.w 0
- X dc.w $1f
- X dc.l 0
- X dc.l windowname
- X dc.l 0,0
- X
- Xexcpterror dc.l 0
- Xexcpttask dc.l 0
- Xexcptaddr dc.l 0
- Xexcptpc dc.l 0
- X
- Xwindow_l dc.w 0
- Xwindow_t dc.w 0
- Xwindow_w dc.w 550
- Xwindow_h dc.w 200
- X
- Xcolms dc.w 0
- Xtimersig dc.w 0
- Xintuisig dc.w 0
- Xibufferlen dc.w 0
- Xcposy dc.w 0
- Xcurpos dc.w 0
- Xbottomin dc.w 1
- Xipos dc.w 0
- Xhnum dc.w 0
- Xminnumchars dc.w 2
- Xmaxhlines dc.w 10
- Xqualifier dc.w 0
- Xrows dc.w 0
- Xmaxllength dc.w 0
- Xloffset dc.w 0
- Xrepeat dc.w 0
- Xrepeatlen dc.w 0
- Xedline dc.w 999
- Xcmdptr dc.w 0
- Xgetanswer dc.w 0
- Xcurrenty dc.w 0
- Xcmdcompnr dc.w 0
- Xcmdcomplen dc.w -1
- Xcmdcompflag dc.w 0
- X
- Xbinarea dc.b ' ',0
- X EVEN
- Xminus dc.b ' '
- Xdecimal dc.b ' ',0
- Xentries dc.b 0
- Xtimeout dc.b 5
- Xprocnum dc.b 0
- Xtimerstate dc.b 0
- Xrunning dc.b 0
- Xnewpri dc.b 0
- Xtasktyp dc.b 0
- Xbackground dc.b 0
- Xbool dc.b 0
- Xprinted dc.b 0
- Xcbreak dc.b 0
- Xusageflag dc.b 0
- Xmnflag dc.b 1
- Xtports dc.b 1
- Xheadon dc.b 1
- Xhideon dc.b 1
- Xsorton dc.b 1
- Xwanttraps dc.b 0
- Xaddlines dc.b 0
- Xeof dc.b 0
- Xfromfile dc.b 0
- Xiconifyon dc.b 1
- Xgotguru dc.b 0
- Xownscreen dc.b 0
- Xinsmode dc.b 0
- Xcmdcli dc.b 1
- Xparams dc.b 'tfdlrempisc'
- Xparmnum equ *-params
- X dc.b 0
- Xt2header dc.b ' ID STATE SIGALLOC SIGWAIT SIGRECVD PC TASKNAME',0
- Xtheader dc.b ' ID TYPE STATE PRI CPUSE NUM TASKNAME',0
- Xlheader dc.b ' NODE CNT VER REV FLAGS ',0
- Xlibnam dc.b 'LIBRARY NAME',0
- Xdevnam dc.b 'DEVICE NAME',0
- Xresnam dc.b 'RESOURCE NAME',0
- Xmheader dc.b ' LOWER UPPER FREE ATTR PRI HUNK NAME',0
- Xcr dc.b 10,0
- Xiheader dc.b ' NODE DATA CODE PRI T S TYPE INTERRUPT NAME',0
- Xinheader dc.b ' NODE DATA CODE PRI NAME',0
- Xrheader dc.b ' ADDR PRI FLAGS VER TYPE RESIDENT NAME',0
- Xpheader dc.b ' NODE PORTNAME FLAGS SIGBT NUM SIGTASK',0
- Xhunkheader dc.b ' NUM BCPL DATA LENGTH',0
- Xddheader dc.b 'DEVICE HDS SECTORS TRACKS BUFFERS STATE HANDLER',0
- Xcdheader dc.b 'PROCESSNAME CURRENT DIRECTORY',0
- Xofheader dc.b ' LOCK ACCESS SIZE PATH/FILENAME',0
- Xscrheader dc.b 'NUM ADDR TITLE',0
- Xwnheader dc.b ' ADDR OWNERTASK TITLE',0
- Xfohead dc.b ' NODE CNT Y X TYPE LO HI NAME',0
- Xkickhead dc.b 'START END LENGTH',0
- Xsnoophead dc.b 'ACTION REQUIREMENTS LENGTH FROM TO CALLER',0
- Xstackhead dc.b 'SPLower SIZE USED TASKNAME',0
- Xclicomhead dc.b ' ID STATE TYPE MODE NUM PROCESSNAME COMMAND',0
- Xtiohead dc.b 'IORQUEST UNIT SECS REQUESTING TASK',0
- Xdchead dc.b ' NODE DATA CODE UNIT TASK',0
- Xalhead dc.b 'ALIAS NAME COMMAND',0
- Xtdd dc.b 'trackdisk.device',0
- Xtddrives dc.b 'DF : ',0
- Xtimerunits dc.b 'MicroHz ',0
- X dc.b 'VBlank ',0
- Xaccess dc.b ' Read ',0
- X dc.b ' Write ',0
- Xromfnt dc.b 'Rom ',0
- Xdiskfnt dc.b 'Disk ',0
- Xwbname dc.b 'Workbench',0
- Xstatus dc.b 'Added ',0
- X dc.b 'Running ',0
- X dc.b 'Ready ',0
- X dc.b 'Waiting ',0
- X dc.b 'Exeption ',0
- X dc.b 'Removed ',0
- X dc.b 'Frozen ',0
- X dc.b 'Frozen ',0
- Xtype dc.b 'Unknown ',0
- Xtasktype dc.b 'Task ',0
- X dc.b 'Interrupt ',0
- X dc.b 'Device ',0
- X dc.b 'Msgport ',0
- X dc.b 'Message ',0
- X dc.b 'Freemsg ',0
- X dc.b 'Replymsg ',0
- X dc.b 'Resource ',0
- X dc.b 'Library ',0
- X dc.b 'Memory ',0
- Xsoftinttype dc.b 'Softint ',0
- X dc.b 'Font ',0
- Xproctype dc.b 'Process ',0
- X dc.b 'Semaphore ',0
- Xmp_flags dc.b 'Signal ',0
- X dc.b 'Softint ',0
- X dc.b 'Ignore ',0
- Xwindowname dc.b 'Xoper V2.2 (c) 1989 Werner G',$fc,'nther',0
- Xnewname dc.b 'Xoper',0
- Xmemportname dc.b 'MemSnoop',0
- Xxopcon dc.b 'XopPackets',0
- Xxopsleep dc.b 'Xop-A-A-x',0
- XIOcntname dc.b 'Xop-I/O-counter',0
- X
- Xcmdnum set 0
- Xcommds ADDCMD 'time'
- X ADDCMD 'taskpri'
- X ADDCMD 'info'
- X ADDCMD 'pri'
- X ADDCMD 'flush'
- X ADDCMD 'freeze'
- X ADDCMD 'warm'
- X ADDCMD 'signal'
- X ADDCMD 'break'
- X ADDCMD 'alert'
- X ADDCMD 'lastalert'
- X ADDCMD 'hold'
- X ADDCMD 'exit'
- X ADDCMD 'clear'
- X ADDCMD 'cancel'
- X ADDCMD 'taskports'
- X ADDCMD 'hunks'
- X ADDCMD 'devices'
- X ADDCMD 'openlib'
- X ADDCMD 'closelib'
- X ADDCMD 'currentdir'
- X ADDCMD 'cd'
- X ADDCMD 'mypri'
- X ADDCMD 'files'
- X ADDCMD 'locks'
- X ADDCMD 'unlock'
- X ADDCMD 'screens'
- X ADDCMD 'windows'
- X ADDCMD 'closescreen'
- X ADDCMD 'closewindow'
- X ADDCMD 'fonts'
- X ADDCMD 'windowfonts'
- X ADDCMD 'lockdrive'
- X ADDCMD 'freedrive'
- X ADDCMD 'capture'
- X ADDCMD 'clrcold'
- X ADDCMD 'clrcool'
- X ADDCMD 'clrwarm'
- X ADDCMD 'snoop'
- X ADDCMD 'usage'
- X ADDCMD 'inputhandler'
- X ADDCMD 'header'
- X ADDCMD 'sort'
- X ADDCMD 'hide'
- X ADDCMD 'hidden'
- X ADDCMD 'window'
- X ADDCMD 'kill'
- X ADDCMD 'iconifyoff'
- X ADDCMD 'historylines'
- X ADDCMD 'minimumchars'
- X ADDCMD 'showhistory'
- X ADDCMD 'repeat'
- X ADDCMD 'remresident'
- X ADDCMD 'saveoutput'
- X ADDCMD 'killhistory'
- X ADDCMD 'backdropicon'
- X ADDCMD 'setfont'
- X ADDCMD 'trapguru'
- X ADDCMD 'outputlines'
- X ADDCMD 'usescreen'
- X ADDCMD 'usewindow'
- X ADDCMD 'timerio'
- X ADDCMD 'diskchange'
- X ADDCMD 'alias'
- X ADDCMD 'remnode'
- X ADDCMD 'setfkey'
- X ADDCMD 'clicmd'
- Xhexarea dc.b ' ',0
- Xhextab dc.b '0123456789abcdef'
- Xinfoh2 dc.b 'Dispat/Sec:',0
- Xinfoh1 dc.b 'CPU:',0
- Xinfoh3 dc.b 'CPU activity: ',0
- Xinfoh6 dc.b 'Total:',0
- Xinfoh4 dc.b '% ',0
- Xinfoh7 dc.b 'I/O Ints/Sec: ',0
- Xcpu0 dc.b '68000',0
- Xcpu1 dc.b '68010',0
- Xcpu2 dc.b '68020',0
- Xcpu3 dc.b '/68881',0
- Xdevload dc.b 'loaded ',0
- Xdevnload dc.b 'unloaded ',0
- Xinten dc.b 'E ',0
- Xintdis dc.b 'D ',0
- Xintserv dc.b 'S ',0
- Xinthand dc.b 'H ',0
- Xnotfile dc.b '--- ------- ------- ------- ',0
- Xlongnix dc.b '-'
- Xsmallnix dc.b '----'
- Xnix dc.b '--- ',0
- Xnoinfo dc.b 'No Info on'
- Xoneblank dc.b ' ',0
- Xequal dc.b '= ',0
- Xopenbrak dc.b '[ ',0
- Xclosebrak dc.b ' ]',0
- Xnamerr dc.b 'Unable to find ',0
- Xfonterr dc.b "Can't open ",0
- Xadrerr dc.b 'Address Error!',0
- Xaliaserr dc.b 'Single character alias names using "',0
- Xaliaserr2 dc.b '"',10,'are not allowed.',0
- Xnoworkbench dc.b "Workbench isn't active !",0
- Xopenerr dc.b 'Could not open file ',0
- Xnoderr dc.b "Can't find this Node. Continue anyway ? (Y/N)",0
- Xlisterr dc.b 'Unable to find ListHeader. Sort aborted.',0
- Xwiwerr dc.b 'Script file only',0
- Xgurutxt dc.b 'Guru Meditation #',0
- Xclrtxt dc.b 'Memory Hunks cleared.',0
- Xcanerr0 dc.b 'Process is not a CLI-task',10
- X dc.b 'Has it been started from Workbench ? (Y/N)',10,0
- Xcanerr1 dc.b 'Process was created by CreateProc()',10
- X dc.b 'Shall I UnLoad() ? (Y/N)',10,0
- Xunloaderr dc.b "Arrrgh.. can't find segments, aborting",0
- Xnoprocs dc.b 'Not a Process.',0
- Xnotload dc.b 'No program loaded.',0
- Xcliprocs dc.b 'Cli-Process',0
- Xprocloaded dc.b 'Loaded as a command: ',0
- Xsegloaded dc.b 'Created by CreateProc()',0
- Xcoldtxt dc.b 'Cold Capture: ',0
- Xcooltxt dc.b 'Cool Capture: ',0
- Xwarmtxt dc.b 'Warm Capture: ',0
- Xkicktxt dc.b 'KickMem : ',0
- Xunset dc.b 'unset',0
- Xintnames dc.b 'Serial Out ',0
- X dc.b 'Disk Block ',0
- X dc.b 'SoftInt ',0
- X dc.b 'Ports ',0
- X dc.b 'Coper ',0
- X dc.b 'Vert.Blank ',0
- X dc.b 'Blitter ',0
- X dc.b 'Audio Ch.0 ',0
- X dc.b 'Audio Ch.1 ',0
- X dc.b 'Audio Ch.2 ',0
- X dc.b 'Audio Ch.3 ',0
- X dc.b 'Serial In ',0
- X dc.b 'Disk Sync ',0
- X dc.b 'External ',0
- X dc.b 'SoftInt ',0
- X dc.b 'NMI ',0
- Xinttyp dc.b 0,0,1,1,1,1,0,0,0,0,0,0,0,1,1,1
- Xfontname dc.b 'topaz.font',0
- Xdevicenam dc.b 'input.device',0
- Xtimernam dc.b 'timer.device',0
- Xmemlarg dc.b 'LARGEST ',0
- Xmemclr dc.b 'CLEAR ',0
- Xmemfast dc.b 'FAST ',0
- Xmemchip dc.b 'CHIP ',0
- Xmempubl dc.b 'PUBLIC ',0
- Xfailed dc.b 'Failed !',0
- Xallok dc.b 'ALLOC: ',0
- Xfree dc.b 'FREE: ',0
- Xbackg dc.b 'Bckg ',0
- Xforeg dc.b 'Frgr ',0
- Xscript dc.b 'Batch ',0
- Xinteract dc.b 'Intct ',0
- Xstartupname dc.b 'S:Xoper.Startup',0
- Xnameerr dc.b 'Name or address is missing.',10
- Xsynerr dc.b 'Syntax Error, type "?" for help',10,0
- Xwberr dc.b "Can't examine Workbench locks",0
- Xdnotf dc.b 'Directory not found',0
- Xnotdir dc.b 'Not a directory',0
- Xnomount dc.b ' not mounted.',0
- Xdishelp dc.b 10,'Names are case sensitive and followed by a ":"',0
- Xunlerr dc.b 'Lock not found',0
- Xunl1 dc.b 'Lock is on ',0
- Xunltxt dc.b 'Old lock was: ',0
- Xunltxt2 dc.b 'Unlock ? (Y/N)',10,0
- Xscnofound dc.b 'Screen not found.',0
- Xwinnofound dc.b 'Window not found.',0
- Xstperr dc.b 'Task must be "READY" or "WAITING"',10,0
- Xwaerr dc.b 'Task must be "FROZEN"',10,0
- Xwhatsthis dc.b '???.?',0
- Xtoomuch dc.b '??? ',0
- Xtimenotset dc.b ' disabled.',0
- Xwhattime dc.b 'Refresh time in secs:',0
- Xstoped dc.b '<Break>',0
- Xonscr dc.b 'On Screen: ',0
- Xwhatnow dc.b 'Kill, ignore (K/I)?',0
- Xnoguru dc.b 'None found.',0
- Xsoftfail dc.b 'Software failure!',10,'Task: ',0
- Xaddrserr dc.b 'Bad aligned address was: ',0
- Xprocount dc.b 'PC: ',0
- Xdiskfont dc.b 'diskfont.library',0
- Xusetxt dc.b 'USAGE: Xoper [T] [F] [L] [D] [R] [E] [M] [P] [I] [S] [C]',10
- X dc.b 'OR Xoper -b',10
- X dc.b 'DISPLAY:',10
- X dc.b '[T]asks [F]=taskflags [L]ibraries [D]evices [R]esources',10
- X dc.b 'r[E]sident [M]emory [P]orts [I]nterrupts [S]tack',10
- X dc.b '[C]litasks [Q]uit',10,10
- X dc.b 'OTHER SYSTEM LISTS:',10
- X dc.b 'Windows Screens Fonts WindowFonts CurrentDir',10
- X dc.b 'Files Locks Devices InputHandler Capture',10
- X dc.b 'TimerIO DiskChange',10,10
- X dc.b 'COMMANDS:',10
- X dc.b 'Time <secs>',10
- X dc.b 'Taskpri <priority> [processnum] <taskname>',10
- X dc.b 'Mypri <priority>',10
- X dc.b 'Signal <mask(hex)> [processnum] <taskname>',10
- X dc.b 'Break [processnum] <taskname>',10
- X dc.b 'Freeze|Warm [processnum] <taskname>',10
- X dc.b 'Kill [processnum] <taskname>',10
- X dc.b 'Snoop [processnum] <taskname>',10
- X dc.b 'Hide <taskname>',10
- X dc.b 'Pri <priority> <nodename>',10
- X dc.b 'Info <name>',10
- X dc.b 'RemResident <resident module name>',10
- X dc.b 'Clear <longword(hex)>',10
- X dc.b 'Hunks [processnum] <procname>',10
- X dc.b 'CD <directory> [processnum] <procname>',10
- X dc.b 'UnLock <lock>',10
- X dc.b 'OpenLib | Closelib <libraryname>',10
- X dc.b 'CloseWindow| Closescreen <title>',10
- X dc.b 'SetFont [size] <fontname> <windowtitle>',10
- X dc.b 'LockDrive | Freedrive <drivename:>',10
- X dc.b 'Window <leftedge topedge width height> (scriptfile only) ',10
- X dc.b 'OutputLines <maximum # of lines>',10
- X dc.b 'HistoryLines <maximum # of lines>',10
- X dc.b 'MinimumChars <minimum # of characters>',10
- X dc.b 'SaveOutput <filename>',10
- X dc.b 'Repeat <Command line>',10
- X dc.b 'SetFKey <number> <string>',10
- X dc.b 'Alias [<aliasname> <commandname>]',10,10
- X dc.b 'COMMANDS WITHOUT PARAMETERS:',10
- X dc.b 'Flush LastAlert ClrCool ClrCold ClrWarm',10
- X dc.b 'TrapGuru',10,10
- X dc.b 'OPTIONS:',10
- X dc.b 'Sort TaskPorts Hidden Usage Header',10
- X dc.b 'IconifyOff BackDropIcon ShowHistory KillHistory UseScreen',10
- X dc.b 'UseWindow CLICmd',10
- X dc.b 'Hold Exit'
- Xnull dc.b 0
- X
- X IFD DEBUG
- Xdosname dc.b 'dos.library',0
- Xintuiname dc.b 'intuition.library',0
- Xgfxname dc.b 'graphics.library',0
- Xconname dc.b 'console.device',0
- X EVEN
- X ENDC
- X
- X BSS blabla
- Xbuffer ds.b 2200
- Xout ds.b 100
- Xdummy ds.b 80
- Xin ds.b 80
- Xcputime ds.b 1000
- Xievent ds.b 32
- Xoutevent ds.b 20
- Xinputbuffer ds.b 88
- Xrepeatbuffer ds.b 81
- X
- Xmypacket BSS standardpacket
- X
- XLN_SUCC ds.l 1
- XLN_PRED ds.l 1
- XLN_TYPE ds.b 1
- XLN_PRI ds.b 1
- XLN_NAME ds.l 1
- XMP_FLAGS ds.b 1
- XMP_SIGBIT ds.b 1
- XMP_SIGTASK ds.l 1
- XMN_SIZE ds.w 1
- XLH_HEAD ds.l 1
- XLH_TAIL ds.l 1
- XLH_TAILPRED ds.l 1
- XLH_TYPE ds.b 1
- XLH_pad ds.b 1
- Xdp_Link ds.l 1
- Xdp_Port ds.l 1
- Xdp_Type ds.l 1
- Xdp_Res1 ds.l 1
- Xdp_Res2 ds.l 1
- Xdp_Arg1 ds.l 1
- Xdp_Arg2 ds.l 1
- Xdp_Arg3 ds.l 1
- Xdp_Arg4 ds.l 1
- Xdp_Arg5 ds.l 1
- Xdp_Arg6 ds.l 1
- Xdp_Arg7 ds.l 1
- X
- Xtimerio ds.b 40
- X
- X CODE ICONIFY,CHIP
- X
- Xiconify lea icnwindow,a0
- X CALL OpenWindow,intuibase
- X move.l d0,iconwindow
- X
- Xwaitforcall move.l iconwindow,a0
- X move.l $56(a0),a0 ;wn->UserPort
- X
- X moveq #0,d1
- X move d1,d0
- X move.b 15(a0),d1 ;UserPort->SigBit
- X bset d1,d0
- X move.l d0,d6
- X or.l mysignal,d0
- X or.l trapsignal,d0
- X CALL Wait,_SysBase
- X and.l d0,d6
- X bne.s fromwindow
- X move.l mysignal,d1
- X and.l d0,d1
- X bne icondone
- X and.l trapsignal,d0
- X beq.s waitforcall
- X move.b #1,gotguru
- X bra.s icondone
- X
- Xfromwindow move.l iconwindow,a0
- X move.l $56(a0),a0 ;wn->UserPort
- X CALL GetMsg,_SysBase
- X tst.l d0
- X beq.s waitforcall
- X move.l d0,a1
- X CALL ReplyMsg,_SysBase
- X
- X move.l iconwindow(PC),a0
- X move.l 4(a0),d5
- X cmp.l icnwindow(PC),d5
- X bne.s 1$
- X lea nsecs(PC),a0
- X lea nmics(PC),a1
- X CALL CurrentTime,intuibase
- X movem.l osecs,d0-d3
- X CALL DoubleClick,intuibase
- X tst.l d0
- X bne.s icondone
- X move.l nsecs(PC),osecs
- X move.l nmics(PC),omics
- X1$ move.l d5,icnwindow
- X bra waitforcall
- X
- Xicondone move.l iconwindow,a0
- X move.l 4(a0),icnwindow ;LeftEdge+TopEdge
- X CALL CloseWindow,intuibase
- X rts
- X
- Xosecs dc.l 0
- Xomics dc.l 0
- Xnsecs dc.l 0
- Xnmics dc.l 0
- X
- Xiconwindow dc.l 0
- Xicnwindow dc.w 40,170,72,28
- X dc.b 0,1
- X dc.l $20,$800
- X dc.l gadget,0,0,0,0
- X dc.w 72,28,72,28
- X dc.w 1
- X
- Xgadget dc.l 0
- X dc.w 0,0,72,28,4,2,$20
- X dc.l image
- X dc.l 0,0,0,0
- X dc.w 0
- X dc.l 0
- X
- Ximage dc.w 0,0,72,28,2
- X dc.l imagedata
- X dc.b 3,0
- X dc.l 0
- X
- Ximagedata dc.w $000F,$FFFF,$FFFF,$FFF8,$0000,$001F,$FFFF,$FFFF
- X dc.w $FFFC,$0000,$001F,$0000,$0000,$007C,$0000,$001F
- X dc.w $7FFF,$FFFF,$FF7C,$0000,$001F,$4A46,$0244,$557C
- X dc.w $0000,$001F,$5108,$D411,$817C,$0000,$001F,$7FFF
- X dc.w $FFFF,$FF7C,$0000,$001F,$0000,$0000,$007C,$0000
- X dc.w $001F,$30C0,$0000,$007C,$0000,$001F,$1980,$0000
- X dc.w $007C,$0000,$001F,$0F0F,$1F0F,$1F7C,$0000,$001F
- X dc.w $0619,$9999,$997C,$0000,$001F,$0F19,$999F,$987C
- X dc.w $0000,$001F,$1999,$9F18,$187C,$0000,$001F,$30CF
- X dc.w $180F,$187C,$0000,$001F,$0000,$1800,$007C,$0000
- X dc.w $001F,$0000,$0000,$007C,$0000,$001F,$FFFF,$FFFF
- X dc.w $FFFC,$0000,$000F,$FFFF,$FFFF,$FF18,$0000,$0000
- X dc.w $0000,$0000,$0000,$0000,$3FFF,$FFFF,$FFFF,$FFFF
- X dc.w $FC00,$FDFF,$FFFF,$FFFF,$FFFF,$FF00,$EBFF,$FFFF
- X dc.w $FFFF,$FFFF,$FF00,$F7FF,$FFFF,$FFFF,$F800,$0700
- X dc.w $FFFF,$FFFF,$FFFF,$FFFF,$FF00,$FFFF,$FFFF,$FFFF
- X dc.w $FFFF,$FF00,$FFFF,$FFFF,$FFFF,$FFFF,$FF00,$3FFF
- X dc.w $FFFF,$FFFF,$FFFF,$FC00,$0000,$0000,$0000,$0000
- X dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$FFFF
- X dc.w $FFFF,$FF80,$0000,$0000,$FFFF,$FFFF,$FF80,$0000
- X dc.w $0000,$FFFF,$FFFF,$FF80,$0000,$0000,$FFFF,$FFFF
- X dc.w $FF80,$0000,$0000,$FFFF,$FFFF,$FF80,$0000,$0000
- X dc.w $FFFF,$FFFF,$FF80,$0000,$0000,$8000,$0000,$0080
- X dc.w $0000,$0000,$8000,$0000,$0080,$0000,$0000,$8000
- X dc.w $0000,$0080,$0000,$0000,$8000,$0000,$0080,$0000
- X dc.w $0000,$8000,$0000,$0080,$0000,$0000,$8000,$0000
- X dc.w $0080,$0000,$0000,$8000,$0000,$0080,$0000,$0000
- X dc.w $8000,$0000,$0080,$0000,$0000,$FFFF,$FFFF,$FF80
- X dc.w $0000,$0000,$0000,$0000,$00E0,$0000,$0000,$0000
- X dc.w $0000,$00E0,$0000,$0000,$1FFF,$FFFF,$F800,$0000
- X dc.w $0000,$0080,$0040,$0000,$0000,$0200,$0080,$0040
- X dc.w $0000,$0000,$1400,$0080,$0040,$003F,$0000,$0800
- X dc.w $0080,$0040,$07FF,$F800,$0000,$0080,$0040,$003F
- X dc.w $0000,$0000,$0080,$0040,$0000,$3800,$FFFF,$FFFF
- X dc.w $FFFF,$FFFF,$FE00,$0000,$0080,$0040,$0000,$0000
- X
- Xiconifgad dc.l 0
- X dc.w -83,0
- X dc.w 31,10
- X dc.w $14
- X dc.w $41
- X dc.w 1
- X dc.l iconifimg
- X dc.l 0
- X dc.l 0
- X dc.l 0
- X dc.l 0
- X dc.w 0
- X dc.l 0
- X
- Xiconifimg dc.w 0,0
- X dc.w 31,10
- X dc.w 2
- X dc.l iconifdata
- X dc.b $0003,$0000
- X dc.l 0
- X
- Xiconifdata dc.w $7FFF,$FFFC,$601F,$FFFC,$6000,$000C,$607F,$FFCC
- X dc.w $6060,$00CC,$6067,$FCCC,$7E60,$00CC,$7E7F,$FFCC
- X dc.w $7E00,$000C,$7FFF,$FFFC,$0000,$0000,$1FE0,$0000
- X dc.w $1FFF,$FFF0,$1F80,$0030,$1F9F,$FF30,$1F98,$0330
- X dc.w $019F,$FF30,$0180,$0030,$01FF,$FFF0,$0000,$0000
- X
- X
- X END
- X
- END_OF_FILE
- if test 40356 -ne `wc -c <'Xoper.a.ac'`; then
- echo shar: \"'Xoper.a.ac'\" unpacked with wrong size!
- fi
- # end of 'Xoper.a.ac'
- fi
- echo shar: End of archive 2 \(of 4\).
- cp /dev/null ark2isdone
- MISSING=""
- for I in 1 2 3 4 ; do
- if test ! -f ark${I}isdone ; then
- MISSING="${MISSING} ${I}"
- fi
- done
- if test "${MISSING}" = "" ; then
- echo You have unpacked all 4 archives.
- rm -f ark[1-9]isdone
- else
- echo You still need to unpack the following archives:
- echo " " ${MISSING}
- fi
- ## End of shell archive.
- exit 0
- --
- Submissions to comp.sources.amiga and comp.binaries.amiga should be sent to:
- amiga@cs.odu.edu
- or amiga@xanth.cs.odu.edu ( obsolescent mailers may need this address )
- or ...!uunet!xanth!amiga ( very obsolescent mailers need this address )
-
- Comments, questions, and suggestions s should be addressed to ``amiga-request''
- (only use ``amiga'' for submissions) at the above addresses.
-